package com.example.demo1;

import java.util.Collections;
import java.util.Set;
import java.util.TreeSet;

/**
 * 第一题：双色球系统 第二种做法 - TreeSet集合
 */
public class Test2 {
    public static void main(String[] args) {
        // 1.随机6个不重复红球号码  1-35 1个篮球1-15，升序输出，篮球放最后面
        // 因为红球需要不重复，而且还需要排序，因此TreeSet集合完全的符合我们条件
        Set<Integer> redBalls = new TreeSet<>();
        // 给集合中添加元素
        while (redBalls.size() < 6) {
            // (int) (Math.random() * 35) 生成的是0-34之间的随机数
            int num = (int) (Math.random() * 35 + 1); // 获取1-35的随机数
            redBalls.add(num);
        }
        // 随机生成一个篮球号码
        int blueBall = (int) (Math.random() * 15 + 1); // 获取1-15的随机数
        System.out.println("用户的红球号码：" + redBalls);
        System.out.println("用户的篮球号码：" + blueBall);

        // 2.定义一个集合存储用户选择的号码，在判断中了几个红球，中了几个篮球
        Set<Integer> luckRed = new TreeSet<>();
        // 批量添加数据到集合中
        Collections.addAll(luckRed, 10, 12, 30, 16, 7, 17); // 幸运的红球号码
        int luckBlue = 12; // 幸运的篮球号码

        // 3.判断中了几个红球
        int redCount = 0;
        for (Integer num : redBalls) {
            if (luckRed.contains(num)) {
                redCount++;
            }
        }
        System.out.println("用户中了" + redCount + "个红球");
        // 判断中了几个篮球号码
        System.out.println("用户中了几" + (blueBall == luckBlue ? "1个篮球" : "0个篮球"));
    }
}
